var E = window.wangEditor
var editor = new E('#editor')

// 下面两个配置，使用其中一个即可显示“上传图片”的tab。但是两者不要同时使用！！！
// editor.customConfig.uploadImgShowBase64 = true   // 使用 base64 保存图片
editor.customConfig.uploadImgServer = '/blog/uploadFile'  // 上传图片到服务器

// 隐藏“网络图片”tab
//editor.customConfig.showLinkImg = false

// 默认限制图片大小是 5M
// 将图片大小限制为 3M
editor.customConfig.uploadImgMaxSize = 3 * 1024 * 1024

// 默认为 10000 张（即不限制），需要限制可自己配置
// 限制一次最多上传 5 张图片
editor.customConfig.uploadImgMaxLength = 5

editor.customConfig.uploadFileName = 'file'

// 上传图片时刻自定义设置 header
//editor.customConfig.uploadImgHeaders = {
//    'Accept': 'text/x-json'
//}

// 跨域上传中如果需要传递 cookie 需设置 withCredentials
editor.customConfig.withCredentials = true

// 默认的 timeout 时间是 10 秒钟
// 将 timeout 时间改为 3s
editor.customConfig.uploadImgTimeout = 2 * 60 * 1000

editor.customConfig.uploadImgParams = {
    token: 'abcdef12345',   // 属性值会自动进行 encode ，此处无需 encode
    topicId: '',
    blogId: ''
}

editor.customConfig.uploadImgHooks = {
    before: function (xhr, editor, files) {
        // 图片上传之前触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，files 是选择的图片文件

        // 如果返回的结果是 {prevent: true, msg: 'xxxx'} 则表示用户放弃上传
        // return {
        //     prevent: true,
        //     msg: '放弃上传'
        // }
    },
    success: function (xhr, editor, result) {
        // 图片上传并返回结果，图片插入成功之后触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
    },
    fail: function (xhr, editor, result) {
        // 图片上传并返回结果，但图片插入错误时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象，result 是服务器端返回的结果
    },
    error: function (xhr, editor) {
        // 图片上传出错时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象
    },
    timeout: function (xhr, editor) {
        // 图片上传超时时触发
        // xhr 是 XMLHttpRequst 对象，editor 是编辑器对象
    },

    // 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式，可使用该配置
    // （但是，服务器端返回的必须是一个 JSON 格式字符串！！！否则会报错）
//    customInsert: function (insertImg, result, editor) {
        // 图片上传并返回结果，自定义插入图片的事件（而不是编辑器自动插入图片！！！）
        // insertImg 是插入图片的函数，editor 是编辑器对象，result 是服务器端返回的结果

        // 举例：假如上传图片成功后，服务器端返回的是 {url:'....'} 这种格式，即可这样插入图片：
//        var url = result.url
//        insertImg(url)

        // result 必须是一个 JSON 格式字符串！！！否则报错
//    }
}
editor.create()

function uploadImgParams(checkedTopicId, checkedBlogId) {
    editor.config.uploadImgParams = {
        token: 'abcdef12345',   // 属性值会自动进行 encode ，此处无需 encode
        topicId: checkedTopicId,
        blogId: checkedBlogId
    }
}
